package com.campus.lostandfound.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 失物/招领信息实体类
 */
@Data
@TableName("item_info")
public class ItemInfo implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 信息ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 信息编号（SW/ZL+年月+流水号）
     */
    private String infoNo;
    
    /**
     * 信息类型：0-失物，1-招领
     */
    private Integer type;
    
    /**
     * 物品名称
     */
    private String itemName;
    
    /**
     * 物品类别：0-电子设备，1-证件卡类，2-学习用品，3-生活用品，4-衣物鞋帽，5-其他
     */
    private Integer category;
    
    /**
     * 物品特征描述
     */
    private String description;
    
    /**
     * 丢失/拾到日期
     */
    private LocalDate lostDate;
    
    /**
     * 丢失/拾到时段
     */
    private String lostTime;
    
    /**
     * 地点-校园区域
     */
    private String locationArea;
    
    /**
     * 地点-具体位置
     */
    private String locationDetail;
    
    /**
     * 联系方式-手机号
     */
    private String contactPhone;
    
    /**
     * 备用联系方式（QQ/微信）
     */
    private String contactBackup;
    
    /**
     * 物品存放地点（仅招领信息）
     */
    private String storageLocation;
    
    /**
     * 物品图片（JSON数组）
     */
    private String images;
    
    /**
     * 信息状态：0-待审核，1-已发布，2-已认领，3-已失效，4-审核驳回
     */
    private Integer status;
    
    /**
     * 审核意见（驳回时填写）
     */
    private String auditComment;
    
    /**
     * 发布者ID
     */
    private String publisherId;
    
    /**
     * 提交时间
     */
    private LocalDateTime createTime;
    
    /**
     * 审核时间
     */
    private LocalDateTime auditTime;
    
    /**
     * 失效时间
     */
    private LocalDateTime expireTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}

